package org.ciallo.simplemusicplayer.service.receiver;

import android.content.Context;
import android.content.Intent;

/**
 * @author Jukomu
 * @Description:
 * @Package: org.ciallo.simplemusicplayer.service.receiver
 * @Project: SimpleMusicPlayer
 * @name: MediaButtonReceiver
 * @Date: 2025/5/28-20:27
 * @Filename: MediaButtonReceiver
 */
public class MediaButtonReceiver extends androidx.media.session.MediaButtonReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // MediaSessionCompat.Callback 会处理这些事件
        // 确保 MediaPlayerService 已经创建并激活了 MediaSession
        // 通常，我们会将事件转发给正在运行的 Service 来处理
        // 但由于 MediaSession 自己会处理，这里可能不需要额外逻辑，
        // 除非 Service 需要在接收到按钮事件时做一些特定的预处理或启动操作。
        // 对于 androidx.media.session.MediaButtonReceiver，它会自动将事件路由到
        // MediaBrowserServiceCompat 或具有正确 intent-filter 的 Service 中的 MediaSession。
        // 如果你的 MediaPlayerService 不是 MediaBrowserServiceCompat，
        // 你需要确保你的 MediaSession 在 Service 启动时被正确创建和激活。
        //
        // 为了简单起见，并且由于我们是通过startService发送命令，
        // 并且 MediaSession 的 callback 是在 Service 内部设置的，
        // MediaButtonReceiver 继承自 androidx.media.session.MediaButtonReceiver
        // 它的默认行为通常是将媒体按钮事件构建为 PendingIntent 并发送给你的 MediaSession。
        // 确保在 AndroidManifest.xml 中正确声明了这个 Receiver。
        super.onReceive(context, intent); // 调用父类实现，它会尝试路由事件
    }
}
